C语言中z=x>y?x:y是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:29:37
主要想了解表达式中?和:的意思,请说明,谢谢!

这句话的意思是:
如果x>y为真,那么把x的值赋给Z,否则把Y的值赋给Z。

?在这里起判断作用。
:和?一起是C语言里一起用的,是基本语法,书上有的。。
你好好找找书上,以后的C++和C#里也有这种写法

相当于:
if x>y
z=x;
else
z=y;

?就是表示?前的表达式的值是否为真,是的话取冒号前的值,否则取冒号后的值。

?:是唯一一个三元运算符。意思是,先判断?号前的表达式X>Y,如果为真,则X>Y?X:Y这一整个表达式的值为X,否则为Y。
Z=X>Y?X:Y的意思是,如果X>Y,则Z=X;否则Z=Y。即将X和Y中较大的一个值赋给Z。

?:是个三元运算符
a?b:c 的意思是,如果a等于0结果就是c,否则结果是b
x>y?x:y的意思是,如果x>y 这个式子结果是x, 否则式子结果是y

假如Z=X是真的话! 就是Z和X相不相等!等就是真
(x:y)真就输出X的值假的话输出Y。